Spartan-3: Arquitectura
Está constituida por los siguientes elementos:
CLBs (Configurable Logic Blocks)
IOBs (Input/Output Blocks)
Conjunto de conexiones programables que
interconectan los bloques
Diferentes bloques (Block RAM, DCM,
multiplicadores, etc)
Spartan-3: Arquitectura
(Gp:) CLBs
Spartan-3: CLB
Spartan-3: Diagrama simplificado de un Slice
(Gp:) flip-flops
(Gp:) LUTs
(Gp:) lógica de carry
Spartan-3: Slices dentro del CLB
Celda lógica de una FPGA (Spartan-3)
La celda lógica está conformada por tres elementos:
LUT (Look-Up Table) de 4 entradas
Multiplexor
Flip-flop
Celda lógica de una FPGA (Spartan-3)
La LUT se implementa con una memoria SDRAM, por lo que se puede usar como:
Una LUT de 4 entradas
Una memoria de 16×1 bit
Un registro de deplazamiento (16 bits)
Lógica combinacional dentro de una FPGA
La lógica combinacional se conforma a través de tablas (Look-Up Tables, LUTs)
También son denominadas Generadores de funciones
(FG: Function Generators)
Su capacidad está dada por la cantidad de entradas
El retardo a través de ellas es constante
Lógica combinacional dentro de una FPGA
Función a implementar
Tabla de verdad
LUT programada
Multiplexores
Son elementos dedicados a proveer interconexión entre slices y LUTs
MUXF5
Combina 2 LUTs para formar
cualquier función de 5 variables
MUXF6
Combina 2 slices para formar
cualquier función de 6 variables
¿Cómo se implementaría una
función de 5 variables?
LUT
LUT
(Gp:) MUX
Bloque de entrada / salida (IOB)
Soportan flujo bidireccional
Salidas configurables como tri-state
Resistencias de pull-up y pull-down programables
Soportan varios estándares de señales (incluye señales diferenciales)
Brinda la posibilidad de registrar tanto entradas como salidas
Control Digital de Impedancia (DCI) para matchear con las líneas que
llegan a la FPGA
Bloque de entrada / salida (IOB) (Spartan-3)
IOB (Spartan-3)
Conexiones programables (Spartan-3)
Líneas de propósito general
Líneas largas
Líneas directas
Tipos de líneas de interconexión:
Proporcionan distintas opciones
para la interconexión de los
distintos elementos de manera
flexible y eficiente
Conexiones programables (Spartan-3)
Son un conjunto de líneas horizontales y verticales conectadas a una matriz de interconexión (switch matrix)
Líneas de propósito general
Conexiones programables (Spartan-3)
Son un conjunto de líneas horizontales y verticales conectadas a una matriz de interconexión (switch matrix)
Matriz de interconexión
(Gp:) Configuración
(Gp:) Cada punto de interconexión
está formado por 6 transistores
Son interruptores programables
Conexiones programables (Spartan-3)
Son líneas que atraviesan la FPGA de arriba abajo y
de izquierda a derecha
Permiten un fan-out grande
Se utilizan para que una señal acceda a un punto
distante, con menos retardos que las líneas de
propósito general
Son un recurso escaso y son dedicadas para señales
críticas tales como el reloj o señales de inicialización
globales.
Líneas largas
Conexiones programables (Spartan-3)
Son líneas de conexión
directa entre bloques
Se utilizan para implementar
redes entre los CLBs e
IOBs adyacente, de manera
eficiente
Introducen retardos mínimos
Líneas directas
Block RAM (Spartan-3)
Esta generación de FPGAs posee bloques de memoria
que mediante diferentes configuraciones permiten crear
RAMs, ROMs, FIFOs, LUTS grandes, buffers circulares,
y registros de desplazamiento.
Se encuentran cerca de los multiplicadores para acelerar
la implementación de operaciones multiply-accumulate
Cuando en vez de usar Block RAMs se utilizan las LUTs se dice
que se hace uso de memoria distribuida.
Página anterior | Volver al principio del trabajo | Página siguiente |